home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / internet / net commander 1.0 / STREAMWK / SETUP.MS_ / SETUP.bin
Encoding:
Text File  |  1996-04-16  |  10.2 KB  |  264 lines

  1. '**************************************************************************
  2. '*                       Xing StreamWorks (tm) Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST BADPATH       = 6400
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 1
  22.  
  23. GLOBAL DEST$        ''Default destination directory.
  24. GLOBAL WINSYSDIR$   ''windows system directory for system files
  25. GLOBAL WINDIR$      ''windows directory
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.     WINDIR$ = GetWindowsDir()
  33.     WINSYSDIR$ = GetWindowsSysDir()
  34.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  35.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  36.  
  37.     SetBitmap CUIDLL$, LOGO
  38.     SetTitle "Xing StreamWorks (tm) Setup"
  39.  
  40.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  41.     IF szInf$ = "" THEN
  42.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  43.     END IF
  44.     ReadInfFile szInf$
  45.  
  46.     DEST$ = "c:\streamwk"
  47.  
  48. '$IFDEF DEBUG
  49.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  50.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  51.     IF IsDriveValid(WinDrive$) = 0 THEN
  52.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  53.         GOTO QUIT
  54.     END IF
  55. '$ENDIF ''DEBUG
  56.  
  57.  
  58. WELCOME:
  59.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  60.     IF sz$ = "CONTINUE" THEN
  61.         UIPop 1
  62.     ELSE
  63.         GOSUB ASKQUIT
  64.         GOTO WELCOME
  65.     END IF
  66.  
  67. GETPATH:
  68.     SetSymbolValue "EditTextIn", DEST$
  69.     SetSymbolValue "EditFocus", "END"
  70. GETPATHL1:
  71.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  72.     DEST$ = GetSymbolValue("EditTextOut")
  73.  
  74.     IF sz$ = "CONTINUE" THEN
  75.         IF IsDirWritable(DEST$) = 0 THEN
  76.             GOSUB BADPATH
  77.             GOTO GETPATHL1
  78.         END IF
  79.         UIPop 1
  80.     ELSEIF sz$ = "REACTIVATE" THEN
  81.         GOTO GETPATHL1
  82.     ELSEIF sz$ = "BACK" THEN
  83.         UIPop 1
  84.         GOTO WELCOME
  85.     ELSE
  86.         GOSUB ASKQUIT
  87.         GOTO GETPATH
  88.     END IF
  89.  
  90.  
  91.     Install
  92.  
  93.  
  94. QUIT:
  95.     ON ERROR GOTO ERRQUIT
  96.  
  97.     IF ERR = 0 THEN
  98.         dlg% = EXITSUCCESS
  99.     ELSEIF ERR = STFQUIT THEN
  100.         dlg% = EXITQUIT
  101.     ELSE
  102.         dlg% = EXITFAILURE
  103.     END IF
  104. QUITL1:
  105.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  106.     IF sz$ = "REACTIVATE" THEN
  107.         GOTO QUITL1
  108.     END IF
  109.     UIPop 1
  110.  
  111.     END
  112.  
  113. ERRQUIT:
  114.     i% = DoMsgBox("Setup sources were corrupted, contact Xing Technology Corp.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  115.     END
  116.  
  117.  
  118.  
  119. BADPATH:
  120.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  121.     IF sz$ = "REACTIVATE" THEN
  122.         GOTO BADPATH
  123.     END IF
  124.     UIPop 1
  125.     RETURN
  126.  
  127.  
  128.  
  129. ASKQUIT:
  130.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  131.  
  132.     IF sz$ = "EXIT" THEN
  133.         UIPopAll
  134.         ERROR STFQUIT
  135.     ELSEIF sz$ = "REACTIVATE" THEN
  136.         GOTO ASKQUIT
  137.     ELSE
  138.         UIPop 1
  139.     END IF
  140.     RETURN
  141.  
  142.  
  143.  
  144. '**
  145. '** Purpose:
  146. '**     Builds the copy list and performs all installation operations.
  147. '** Arguments:
  148. '**     none.
  149. '** Returns:
  150. '**     none.
  151. '*************************************************************************
  152. SUB Install STATIC
  153.  
  154.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  155.     CreateDir DEST$, cmoNone
  156.  
  157.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  158.     WriteToLogFile ""
  159.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  160.     WriteToLogFile ""
  161.     WriteToLogFile "May have had to create the directory: " + DEST$
  162.     WriteToLogFile ""
  163.  
  164.     ClearCopyList
  165.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  166.     IF DoesIniKeyExist(WINDIR$ + "SYSTEM.INI","drivers","DCI") = 0 THEN
  167.         AddSectionFilesToCopyList "SystemFiles", SrcDir$, WINSYSDIR$
  168.         CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "drivers", "DCI", "dcisvga", cmoOverwrite
  169.     ELSEIF GetIniKeyString(WINDIR$ + "SYSTEM.INI","drivers","DCI") = "dcisvga" THEN
  170.         AddSectionFilesToCopyList "SystemFiles", SrcDir$, WINSYSDIR$
  171.     END IF
  172.     CopyFilesInCopyList
  173.     CreateProgmanGroup "Xing StreamWorks", "", cmoNone
  174.     ShowProgmanGroup  "Xing StreamWorks", 1, cmoNone
  175.     CreateProgmanItem "Xing StreamWorks", "StreamWorks", MakePath(DEST$,"wnetview.exe"), "", cmoOverwrite
  176.     IF DoesIniKeyExist("WIN.INI","Netscape","ini") = 1 THEN
  177.         netini$ = GetIniKeyString("WIN.INI","Netscape","ini")
  178.         CreateIniKeyValue netini$, "Viewers", "application/x-xdma", DEST$ + "\wnetview.exe /a", cmoOverwrite
  179.         CreateIniKeyValue netini$, "Viewers", "TYPE0", "application/x-xdma", cmoOverwrite
  180.         CreateIniKeyValue netini$, "Suffixes", "application/x-xdma", "xdm,xdma", cmoOverwrite
  181.     END IF
  182.     CreateIniKeyValue "WIN.INI", "Xing", "WRNT", DEST$ + "\", cmoOverwrite
  183.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "Copyright", "Copyright (c) Xing Technology Corp. 1994-95.  All rights reserved.", cmoOverwrite
  184.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "VersionID", "", cmoOverwrite
  185.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "Protocol", "", cmoOverwrite
  186.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "MainWindowTitle", "StreamWorks", cmoOverwrite
  187.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "NetBandwidthK", "128", cmoNone
  188.     CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "HealthMsgTimeOut", "24", cmoNone
  189.     CreateIniKeyValue DEST$ + "\wnetview.ini", "FireWall", "UseFireWall", "N", cmoNone
  190.     CreateIniKeyValue DEST$ + "\wnetview.ini", "FireWall", "FireWallIP", "", cmoNone
  191.     CreateIniKeyValue DEST$ + "\wnetview.ini", "FireWall", "FireWallPort", "0", cmoNone
  192.     
  193. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "Name", "Xing StreamWorks Server", cmoNone
  194. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "ChannelKey", "", cmoNone
  195. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "HasVideo", "Y", cmoNone
  196. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "HasAudio", "Y", cmoNone
  197. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "RateControlled", "N", cmoNone
  198. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "Server", "Y", cmoNone
  199. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "BeyondFireWall", "N", cmoNone
  200. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "UDPPort", "1558", cmoNone
  201. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "IPAddress", "204.62.160.253", cmoNone
  202. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "Button", DEST$ + "\BUTTONS\BUTXING.BMP", cmoNone
  203. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 1", "PushButton", DEST$ + "\BUTTONS\PBUTXING.BMP", cmoNone
  204.     
  205. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "Name", "KPIG", cmoNone
  206. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "ChannelKey", "", cmoNone
  207. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "HasVideo", "Y", cmoNone
  208. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "HasAudio", "Y", cmoNone
  209. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "RateControlled", "N", cmoNone
  210. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "Server", "Y", cmoNone
  211. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "BeyondFireWall", "N", cmoNone
  212. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "UDPPort", "1558", cmoNone
  213. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "IPAddress", "199.184.164.86", cmoNone
  214. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "Button", DEST$ + "\BUTTONS\KPIG.BMP", cmoNone
  215. '   CreateIniKeyValue DEST$ + "\wnetview.ini", "Channel 2", "PushButton", "", cmoNone
  216.  
  217. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "MemoryBufSize", "1048576", cmoNone
  218. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "RemoteTimeOut", "10", cmoNone
  219. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "ButtonSelector", "0x14000080", cmoNone
  220. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "AudBandwidthK", "16", cmoNone
  221. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Xing Windows Network Receiver", "HeldStreamPackets", "512", cmoNone
  222.      
  223.      CreateIniKeyValue DEST$ + "\wnetview.ini", "Software", "SoftAudBufSize", "500", cmoOverwrite
  224.      CreateIniKeyValue DEST$ + "\wnetview.ini", "Software", "VidSyncPoint", "200000", cmoOverwrite
  225.      CreateIniKeyValue DEST$ + "\wnetview.ini", "Software", "AudSyncPoint", "1000", cmoOverwrite
  226.  
  227. '    CreateIniKeyValue DEST$ + "\wnetview.ini", "Software", "AudSyncSlope", "0", cmoNone
  228. '    CreateIniKeyValue DEST$ + "\xmsound.ini", "Decode", "nr", "1", cmoNone
  229. '    CreateIniKeyValue DEST$ + "\xmsound.ini", "Decode", "nt", "2", cmoNone
  230. '    CreateIniKeyValue DEST$ + "\xmsound.ini", "Decode", "nc", "1", cmoNone
  231.     
  232.     CloseLogFile
  233.     IF RestartListEmpty = 0 THEN
  234.         SetRestartDir SrcDir$
  235.         i% = ExitExecRestart()
  236.     END IF
  237.  
  238. END SUB
  239.  
  240.  
  241.  
  242. '**
  243. '** Purpose:
  244. '**     Appends a file name to the end of a directory path,
  245. '**     inserting a backslash character as needed.
  246. '** Arguments:
  247. '**     szDir$  - full directory path (with optional ending "\")
  248. '**     szFile$ - filename to append to directory
  249. '** Returns:
  250. '**     Resulting fully qualified path name.
  251. '*************************************************************************
  252. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  253.     IF szDir$ = "" THEN
  254.         MakePath = szFile$
  255.     ELSEIF szFile$ = "" THEN
  256.         MakePath = szDir$
  257.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  258.         MakePath = szDir$ + szFile$
  259.     ELSE
  260.         MakePath = szDir$ + "\" + szFile$
  261.     END IF
  262. END FUNCTION
  263.  
  264.